//
//  AppDelegate.swift
//  swift版本微博
//
//  Created by 张leslie45 on 16/1/10.
//  Copyright © 2016年 张leslie45. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        print(UserAccount.loadUserAccount())
        setThemeColor()
        registerNotification()
        //实例化window
        window = UIWindow(frame: UIScreen.mainScreen().bounds)
        //设置背景颜色为白色
        window?.backgroundColor = UIColor.whiteColor()
        //设置根视图控制器
        window?.rootViewController = defaultRootViewController()
        //设置window可视化
        window?.makeKeyAndVisible()
        
        return true
    }
    
    //注册通知
    private func registerNotification(){
    
     /*  object = nil 这个时候发出的是一条"广播"
         object !=nil 这个时候发出的是一条一对一"通知"
        target - action 机制是OC 中的机制 由于swift可以直接调用OC
    */
        
      NSNotificationCenter.defaultCenter().addObserver(self, selector: "chooseRootVC:", name: WBSwiftRootVC, object: nil)
    }
    
    //通知的响应方法中选择到底是 显示TableVC  还是  欢迎界面
    @objc private func chooseRootVC (n : NSNotification) {
        print(n)
//        if n.object != nil {
//           //欢迎界面
//            window?.rootViewController  = WelcomeViewController()
//        }else {
//        
//            window?.rootViewController = MainViewController()
//        }
        window?.rootViewController = (n.object == nil ? MainViewController(): WelcomeViewController())
    }
    
   //移除通知  编码习惯(也可以不用写)
    deinit {
        
       NSNotificationCenter.defaultCenter().removeObserver(self)
    }
    
    //根据用户是否登录,指定默认的根视图控制器
    private func defaultRootViewController() -> UIViewController {
//        if UserAccountViewModel().userLogin {
//        
//            //已经登录
//            return WelcomeViewController()
//        }
//          //用户没有登录
//        return MainViewController()
//        
        return UserAccountViewModel().userLogin ? WelcomeViewController(): MainViewController()
    }
    //需要尽早设置必须在视图实例化之前进行设置
    private func setThemeColor(){
       //导航视图控制器的全局色是橙色
        UINavigationBar.appearance().tintColor = UIColor.orangeColor()
        UITabBar.appearance().tintColor = UIColor.orangeColor()
       
    }
   
}

